package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.sql.Date;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.JTextField;

import com.toedter.calendar.JDateChooser;

import javax.swing.JTextPane;
import javax.swing.border.TitledBorder;
import javax.swing.JButton;

import negocio.Alumno;
import negocio.Contacto;
import negocio.Tarea;
import negocio.TareaControlador;
import negocio.Usuario;
import negocio.UsuarioControlador;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class TareasCrear extends JFrame {

	private JPanel contentPane;
	private JTextField textField;
	JComboBox usuarios;
	Usuario usuario;
	ArrayList<Usuario> listaUsuarios=new ArrayList<Usuario>();
	Alumno alumno;
	Contacto contacto;
	
	
	
	
	public void llenarComboUsuarios()
	{
		ArrayList<Usuario> aux = UsuarioControlador.getAll();
		for(Usuario u:aux)
		{
			if(u.getPerfil().equals("Administrativo") || u.getPerfil().equals("Supervisor"))
			{
				listaUsuarios.add(u);
				usuarios.addItem(u);
			}
			
		}
		
	}

	/**
	 * Launch the application.
	 */
	/*public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					TareasCrear frame = new TareasCrear();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public TareasCrear(Usuario usuario, Alumno alumno, Contacto contacto) {
		this.usuario=usuario;
		this.alumno=alumno;
		this.contacto=contacto;
		//System.out.println(contacto.getId());
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		this.setTitle("Crear tarea");
		setBounds(100, 100, 307, 282);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblAlumno = new JLabel("DNI alumno");
		lblAlumno.setBounds(16, 17, 80, 14);
		contentPane.add(lblAlumno);
		
		JLabel lblUsuarioAsignado = new JLabel("Usuario Asignado");
		lblUsuarioAsignado.setBounds(16, 73, 104, 14);
		contentPane.add(lblUsuarioAsignado);
		
		JLabel lblFechaLimite = new JLabel("Fecha limite");
		lblFechaLimite.setBounds(16, 42, 80, 14);
		contentPane.add(lblFechaLimite);
		
		textField = new JTextField();
		textField.setEditable(false);
		textField.setBounds(130, 11, 157, 20);
		contentPane.add(textField);
		textField.setColumns(10);
		textField.setText(alumno.getDni());
		
		JDateChooser dateChooser = new JDateChooser();
		dateChooser.setBounds(130, 39, 157, 20);
		contentPane.add(dateChooser);
		
		usuarios = new JComboBox();
		usuarios.setEnabled(false);
		usuarios.setBounds(130, 67, 157, 20);
		contentPane.add(usuarios);
		llenarComboUsuarios();
		//usuarios.setSelectedItem(usuarios.getItemAt(listaUsuarios.indexOf(usuario)));
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(null, "Comentarios de la tarea", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setBounds(10, 96, 277, 110);
		contentPane.add(panel);
		panel.setLayout(null);
		
		JTextPane textPane = new JTextPane();
		textPane.setBounds(6, 16, 261, 87);
		panel.add(textPane);
		
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				dispose();
			}
		});
		btnCancelar.setBounds(198, 217, 89, 23);
		contentPane.add(btnCancelar);
		
		JButton btnCrearTarea = new JButton("Crear tarea");
		btnCrearTarea.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				java.sql.Date sqlDate = new java.sql.Date(dateChooser.getDate().getTime());
				Tarea tarea=new Tarea(sqlDate, "Contacto", usuario, usuario, 
						"Incompleta", alumno, textPane.getText(), contacto, null);
				TareaControlador.guardar(tarea);
				dispose();
			}
		});
		btnCrearTarea.setBounds(99, 217, 89, 23);
		contentPane.add(btnCrearTarea);
	}
}
